--- import MainHead from '../../components/MainHead.astro'; import Nav from '../../components/Nav.astro'; import PostPreview from '../../components/PostPreview.astro'; import Pagination from '../../components/Pagination.astro'; import authorData from '../../data/authors.json'; export function getStaticPaths() { const allPosts = Astro.fetchContent('../post/*.md'); let allAuthorsUnique = [...new Set(allPosts.map((p) => p.author))]; return allAuthorsUnique.map((author) => ({ params: { author }, props: { allPosts } })); } interface MarkdownFrontmatter { date: number; description: string; title: string; author: string; } const { allPosts } = Astro.props; const { params, canonicalURL } = Astro.request; const title = 'Don’s Blog'; const description = 'An example blog on Astro'; /** filter posts by author, sort by date */ const posts = allPosts.filter((post) => post.author === params.author).sort((a, b) => new Date(b.date).valueOf() - new Date(a.date).valueOf()); const author = authorData[posts[0].author]; --- {title}